using System;
using System.Collections.Generic;
using BLToolkit.Mapping;
using BLToolkit.Data;
using BLToolkit.DataAccess;
using BLToolkit.EditableObjects;

namespace Brainsoft.Core.BusinessLogic
{
    public abstract class AccessorBase<T, A> : DataAccessor<T, A>
        where T : EditableObject 
        where A : DataAccessor<T, A>
    {
        protected override DbManager CreateDbManager() { return new DbManager("Connection String"); }

        public abstract void Insert(T obj);
        public abstract void Update(T obj);
        public abstract void Delete(T obj);
        public abstract void Delete(int id);
        public abstract List<T> SelectAll();
        public abstract T SelectByKey(T obj);
    }
}
